<?php
	//if (!isset($_SESSION)) { session_start(); }
  // Datos extraidos
  $lenguaje = 'es';
  //Archivos incluidos despues de la verficacion por seguridad.
  include_once('../../includes/fk_php/Connections/connection.php');
  
  switch($lenguaje): // Selecion de lenguaje de la apliacion
	case 'es': include_once('../../includes/fk_php/lenguaje_es(v2).php'); $DB_lenguaje = 'nom_es';
		break;
	case 'en': $DB_lenguaje = 'nom_en'; break;
  endswitch;

?>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="text/css">
		.add {
            background-image:url(../../fk_skin/add.gif) !important;
        }
        .remove {
            background-image:url(../../fk_skin/delete.gif) !important;
        }
		.buscar {
            background-image:url(../../fk_skin/buscar.gif) !important;
        }
		.refresh {
            background-image:url(../../fk_skin/refresh.png) !important;
        }
	</style>
  <link rel="stylesheet" type="text/css" href="../../includes/extjs/resources/css/ext-all.css" />
  <!-- LIBS -->
  <script type="text/javascript" src="../../includes/extjs/adapter/ext/ext-base.js"></script>
  <!-- ENDLIBS -->
  <script type="text/javascript" src="../../includes/extjs/ext-all.js"></script>
  <!--	EDITOR GRID --->
  <script type="text/javascript" src="../../includes/extjs/src/widgets/grid/EditorGrid.js"></script>
  
  <script type="text/javascript" src="../../includes/extjs/src/locale/ext-lang-<?=$lenguaje?>.js"></script>
  <script type="text/javascript">
//-------------------------------------------------------    
var estado="";
	Ext.onReady(function(){
		Ext.BLANK_IMAGE_URL = '../../includes/extjs/resources/images/default/s.gif';
		Ext.QuickTips.init(); 
		Ext.form.Field.prototype.msgTarget = 'side';
		//Funcionalidad de Boton de busqueda
	
	var store_carga= new Ext.data.JsonStore({  
			url:'../MAESTROS/mod_tipocaraga_grid.php',  
			root: 'data',  
			totalProperty: 'total',  
			fields: [  
				{name:'idcarga', type: 'int'},  
				{name:'descripcion', type: 'string'}
			]  
		});
	store_carga.load({params:{buscar:'todos'}});
		
	//Arreglo bidimensional de datos 
	var storesolicitudes = new Ext.data.JsonStore({ // asignandole a la propiedad json la data
		url: 'mod_viajes_destino_final.php',
		root: 'data',
		fields: [
			'idsolicitud',
			'placacabezal',
			'placafurgon',
			'fechaingreso',
			'fechasalida',
			'horasalida',
			'pais',
			'estadoCmb','tipoCmb','cargaCmb','idruta','idpersona','idcliente','conductor','descpais','rutaorigen','rutadestino','carga'
			]
	});
	
	storesolicitudes.load({params:{buscar:'todos'}});
//-------------------------------------------------------
	
	
		
	var mySelectionModel = new Ext.grid.CheckboxSelectionModel({singleSelect: false});
	
		
	// CREACION DEL GRID ===============================
	var gridsolicitudes = new Ext.grid.EditorGridPanel({
		store: storesolicitudes,
		collapsible: true,
		frame: true,
		renderTo: 'grid-div',
		width:  '100%',
		title :'Seguimiento de Viajes',
		height: 500,
		clicksToEdit: 2,
		stripeRows: true,
		autoScroll: true,
		border: false,
		loadMask: true,
		sm: mySelectionModel, //referencia al selectionModel
		columns: [
			new Ext.grid.CheckboxSelectionModel(),  
			{
				id			: 'idsolicitud',
				dataIndex	: 'idsolicitud',
				header		: 'Solicitud',
				hidden		: true,
				width		: 100,
				sortable	: true
			},
			{
				id			: 'placacabezal',
				dataIndex	: 'placacabezal',
				header		: 'Placa Cabezal',
				width		: 100,
				sortable	: true
			},
			{
				id			: 'placafurgon',
				dataIndex	: 'placafurgon',
				header		: 'Placa Furgon',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'conductor',
				header		: 'Conductor',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'fechaingreso',
				header		: 'Fecha Ingreso',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'fechasalida',
				header		: 'Fecha Salida',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'horasalida',
				header		: 'Hora Salida',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'descpais',
				header		: 'Pais',
				hidden		: true,
				width		: 150,
				sortable	: true
			},
			{
				dataIndex	: 'estadoCmb',
				header		: 'Estado',
				width		: 100,
				sortable	: true,
				editor:new Ext.form.ComboBox({
						store: new Ext.data.SimpleStore({  
									 id : 0 ,  
								fields 	: [  'idsoli', 'nomsoli' ],  
								  data  : [  
											['PLANIFICADO', 'PLANIFICADO'],['EN TRANSITO', 'EN TRANSITO'], 
											['DESTINO FINAL', 'DESTINO FINAL'], ['DESCARGADO', 'DESCARGADO'],
											['PREFACTURADO', 'PREFACTURADO'],['EN GESTION DE PAGO', 'EN GESTION DE PAGO'],
											['PAGADO', 'PAGADO'],['LIQUIDADO', 'LIQUIDADO'],['TODOS', 'TODOS']
										]
							}),
							hiddenName  : 'solicitudId',  
							name        : 'nomsoli',  
							width       : 190,  
							displayField: 'nomsoli',  
							valueField  : 'idsoli',
							typeAhead: true,
							mode: 'local',
							triggerAction: 'all',
							selectOnFocus:true
				})
			},
			{
				dataIndex	: 'carga',
				header		: 'Carga'
			},
			{
				dataIndex	: 'rutaorigen',
				header		: 'Ruta Origen',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'rutadestino',
				header		: 'Ruta Destino',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'comentario',
				header		: 'Comentario',
				width		: 100,
				sortable	: true,
				editor		:{
							xtype: 'textfield',
							allowBlank: false
						}
			},
			{
				dataIndex	: 'tipoCmb',
				hidden		: true,
				header		: 'Tipo'
			},
			{
				dataIndex	: 'cargaCmb',
				header		: 'Carga',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'idruta',
				header		: 'Ruta',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'idpersona',
				header		: 'Persona',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'idcliente',
				header		: 'Cliente',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			],tbar: [
			'->','<b>Tipo Carga: <font color="#EC9001">*</font></b>',
			{
				xtype       : 'combo',
				id          : 'cargaCmb',
				fieldLabel  : '<b>Carga<font color="#EC9001">*</font></b>',
				labelStyle  : 'font-size:10px;',
				hiddenName  : 'idcarga',  
				name        : 'idcarga',  
				loadingText : "Cargando...",
				emptyText   : "Carga de Furgon...",
				mode        : 'local', 
				allowBlank  : true,
				triggerAction : 'all',
				width       : 200,  
				displayField: 'descripcion',  
				valueField  : 'idcarga',
				store		: store_carga
			},
			{
				text: 'Buscar',
				iconCls:'buscar',
				width: 78,
				handler: function(){
					var carga = Ext.getCmp('cargaCmb').getValue();
						if (carga !=""){
							storesolicitudes.removeAll();
							storesolicitudes.load({params:{buscar:'fibra',carga:carga}});
						}
				}
			},'-',
			{
				text: 'Descargados',
				iconCls:'add',
				width: 78,
				handler: function(){
					var selections = gridsolicitudes.selModel.getSelections();
					Ext.each(selections,function(record){
						id = record.get('idsolicitud');
						storesolicitudes.load({params:{buscar:'todos',proceso:'actu',ident:id}});
					});
				}
			},'-',
			{
				text: 'Actualizar',
				iconCls:'refresh',
				width: 78,
				handler: function(){
						storesolicitudes.load({params:{buscar:'todos'}});
				}
			},'-',
			{
				text: 'Ver Reporte',
				iconCls:'buscar',
				width: 78,
				handler: function(){
						parent.enviar("http://localhost:8080/birt/frameset?__report=report/EquiposCargadosFibra.rptdesign");
				}
			}
            ]
	});
	
	function saveEstado(oGrid_event){
		if (estado=="EN TRANSITO" ||estado=="DESTINO FINAL"||estado=="DESCARGADO"){
						Ext.Ajax.request({   
					  waitMsg: 'Please wait...',
					  url: 'edit_estados.php',
					  params: {
						 estado: oGrid_event.record.data.estadoCmb,
						 idsolicitud: oGrid_event.record.data.idsolicitud,
						 comentario:oGrid_event.record.data.comentario,
					  }, 
					  success: function(response){							
						 var result=eval(response.responseText);
						 switch(result){
						 case 1:
							storesolicitudes.commitChanges();
							storesolicitudes.reload();
							break;					
						 default:
							Ext.MessageBox.alert('Uh uh...','NO se pudo actualizar');
							storesolicitudes.reload();
							break;
						 }
					  },
					  failure: function(response){
						 var result=response.responseText;
						 Ext.MessageBox.alert('error','No se pudo actualizar, algun error con la base');		
					  }									    
				   });
		}else{
			Ext.MessageBox.alert('Estados','Solo los estados:<br><b> EN TRANSITO, DESTINO FINAL, DESCARGAGO</b><br> pueden ser modificados.');
			storesolicitudes.commitChanges();
			storesolicitudes.reload();
		}
	}
	
	gridsolicitudes.on({ 
		'beforeedit':{
				fn: function(oGrid_event){
					 estado=oGrid_event.record.data.estadoCmb;
				}
		},
		'afteredit':{
			fn: function(oGrid_event){
					 saveEstado(oGrid_event);
				}
		}
	});
	
		
  
		});
		
</script>
  <!-- 	Estilo interno -->
  <style type="text/css">
  body,td,th {
  font-family: Verdana, Geneva, sans-serif;
  }
  </style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >
<div id="grid-div" ></div>
</body>
</html>